package br.edu.unifei.cct720.trabalho06.gui.painel;

import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JPanel;

import br.edu.unifei.cct720.trabalho06.model.ponto.Ponto;
import br.edu.unifei.cct720.trabalho06.model.ponto.Pontos;

/**
 * Classe responsavel por implementar um painel
 * que apresenta as formas geometricas da aplicacao
 * 
 * @author fknappe
 *
 */
public class PainelDesenho extends JPanel  {
	
	// Declaracao das variaveis de instacia
	private List<Pontos> formas;
	
	/**
	 * Construtor
	 */
	public PainelDesenho(){
		super();
		this.setBackground(Color.WHITE);
		formas = new ArrayList<Pontos>();
	}
	
	/**
	 * Metodo responsavel por plotar os pixels das 
	 * formas geometricas no painel
	 * 
	 * @return void
	 */
	public void paint(Graphics g) {        
	     super.paint(g);	 
	     
	     if (formas != null)
			for(Pontos p : formas) {
				for(Ponto ponto : p) {
					ponto.plota(g);
			}				
		}
	}
	
	// Metodos getters e setters
	public List<Pontos> getFormas() {
		return formas;
	}

	public void setFormas(ArrayList<Pontos> formas) {
		this.formas = formas;
	}
	
	public void addForma(Pontos forma) {
		this.formas.add(forma);
	}
}
